home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / dev / e / amigae33a.lha / E_v3.3a / Src.lha / Src / Tools / Useful / bitfield.e < prev    next >
Text File  |  1996-08-11  |  388b  |  19 lines

  1. OPT MODULE, PREPROCESS
  2. OPT EXPORT
  3.  
  4. #define NBITMASK(n) (Shl(1,(n))-1)
  5.  
  6. #define NBITSATX(n,x) (Shl(NBITMASK(n),(x)))
  7.  
  8. #define NOTNBITSATX(n,x) (Not(NBITSATX(n,x)))
  9.  
  10. #define GETNBITSATX(n,x,f) (lshr((f) AND NBITSATX(n,x), (x)))
  11.  
  12. #define SETNBITSATX(n,x,f,v) (((f) AND NOTNBITSATX(n,x)) OR Shl((v) AND NBITMASK(n), x))
  13.  
  14. PROC lshr(x,y)
  15.   MOVE.L x, D0
  16.   MOVE.L y, D1
  17.   LSR.L D1, D0
  18. ENDPROC D0
  19.